草庐IT

JSON 对象

全部标签

Javascript 全局对象

我经常看到在javascript代码中定义一个全局对象作为命名空间。varMyNS={a:function(){},...};但有时,我看到人们省略了“var”关键字,例如MyNS={a:function(){},...};我相信在Web浏览器中,如果您不使用var定义变量,它会被放在window对象中,它充当全局命名空间。由于它通过不使用“var”节省了几个字节的文本,是否有理由使用关键字用于此特定目的? 最佳答案 Sinceitsavesafewbytesoftextbynotusing"var"isthereareasonto

javascript - 在 json 对象中执行 javascript 代码?

还有吗?所以像这样:{key1:"val1",key2:"val2",some_code:"document.getElementById("someid").innerHTML='test';"}所以some_code会在没有任何用户干预的情况下执行? 最佳答案 没有。首先,您的示例不是有效的JSON。在JSONvalidator试试看.其次,JSON是一种数据交换标准,当正确解析时,其中包含一些代码的任何文本都不会被执行。继续阅读JSONsecurityissues.经验法则:不要使用JavaScripteval函数,而是使用现

javascript:同一类型对象的不同构造函数

在javascript中,一个类是否可以有多个构造函数?即一个参数为零,一个参数为一个,一个参数为两个,等等......如果是,怎么办?谢谢! 最佳答案 不,Javascript不支持函数重载。但是,在每个函数中您都可以访问argumentsobject,其中包含提供给函数的所有参数,无论是否声明。您可以简单地查看它并决定您要在构造函数中执行的操作。糟糕的、未经提炼的例子:functionFoo(){functionsingleParamConstructor(foo){...}functiontwoParamConstructor

javascript - 跨域ajax json

我在site.com上试图从我在端口8080上服务的node.js服务器获取一些json数据。我收到此错误消息:XMLHttpRequestcannotloadhttp://site.com:8080/json/1.Originhttp://site.comisnotallowedbyAccess-Control-Allow-Origin.我的代码:$.get('http://site.com:8080/1/',{},function(Data){console.log(Data);},"json");但它是同一个域!:(还要考虑我的backbone.js模型:model=Backbo

javascript - 如何检查是否设置了另一个对象内的对象内的变量(js)?

我想这样做:if(a.b.c)alert('cexists')//produceserrorif(a&&a.b&&a.b.c)alert('cexists')//alsoproducesReferenceError我知道的唯一方法(编辑:这显然是唯一的方法):if(typeof(a)!="undefined"&&a.b&&a.b.c)alert('cexists');或者像这样的某种类型的函数......if(exists('a.b.c'))alert('cexists');functionexists(varname){vars=varname.split('.');for(i=0;

javascript - 如何访问对象的属性作为变量?

我有两个对象:object1={type:'obj1',nName:'nName'}object2={type:'obj2',pName:'pName'}在我的js代码中,我有:object=GET_OBJECT();GET_OBJECT()方法返回object1或object2,然后,我想访问对象的name属性,它是nName或pName。我有一种方法可以获取返回对象的名称(pName或nName):functiongetName(Object,name){returnobject.name;}我希望name成为一个变量,这样我就可以通过这种方式访问​​pName或nName:obj

javascript - OOP Javascript - 在类中隔离对象

我正在尝试拥有一个主对象,我可以为其创建多个实例,每个实例都继承子对象(具有独特/独立的属性)。但是,当我这样做时,所有创建的对象的对象属性(更改后)都会发生变化。我可能没有正确解释这一点,但这个例子应该很清楚。Main=function(){};//Extendingthemainclasswithnewobject.DoingitthiswaysoIcanhavethesein//separatefiles.Main.prototype.foo={bar:1}//FirstinstanceofMain().varA=newMain();//SecondinstanceofMain(

javascript - 在 JavaScript 中使用对象作为字典的时间复杂度

我正在考虑使用JavaScript对象作为字典。vardict={}dict['a']=1;dict['b']=2;varmy_first=dict['a'];我不清楚这种实现的时间复杂度。它像散列吗?谢谢。 最佳答案 JavaScript对象通常被称为“哈希”(主要是通过恢复Perl瘾君子)或“哈希表”(顽固的Java人)。典型的查找时间介于O(1)和O(logn)之间。 关于javascript-在JavaScript中使用对象作为字典的时间复杂度,我们在StackOverflow上

javascript - JSON.parse、JS 类型转换和 revivers

对不起,如果这是一个愚蠢的问题,这是我的第一个JS项目...我正在尝试使用JSON反序列化JS中的自定义对象。问题是,JSON.parse()不会将对象作为其原始类型返回。由于直接将返回的对象转换为所需的类型似乎是不可能的,因此我只能使用“reviver”选项...我是不是漏掉了什么?JSON的全部意义不就是避免编写自定义方法来序列化和反序列化对象吗?如果我必须编写自己的方法“恢复”我的对象,那么使用JSON有什么意义? 最佳答案 JSON是一种原始数据格式。这是非常原始的。它支持字典(又名javascript对象、散列、关联数组)

javascript - 如何在我的对象范围之外调用 'this'?

我为网站开发了某种Jcrop初始化程序,我设法创建了自己的命名空间。我的问题是关于this关键字。每次我必须在任何回调函数中访问我的基础对象“aps”时,我必须将this包装在一个变量中(我选择了单词that).有没有更好的方法呢?例如,我可以使用call或apply方法吗?这只是一个命名空间,因此我可以使用简单的aps.methodName但为了这个示例,请不要介意。这是我的源代码:varaps;$(function(){aps=function(){//private//variablesvarbgColor='#f5f5f5';varthreshold=370;varthresh